Soru & Cevap

super.onDestroy kullanıncı uygulama durduruldu hatası ...

05.12.2019 - 09:35

Merhaba arkadaşlar;

Problemim şudur. Ben bir online sınav uygulaması üzerinde çalışıyorum ve işleyiş genel olarak şu şekilde. Sınavı belli saat aralığında yapıyorum bu sebeple de firabase üzerinden tarih ve saat giriyorum sınav başlatma butonunu aktif ediyorum ve kullanıcı o saatte sınava giriyor. Buraya kadar hiç bir sıkıntı yok. Sıkıntı ise sınav bittikten yani verilen süre bitince başlıyor. Sınavın bittiğini gösteren aktiviye yönlendirince başlıktaki durum ortaya çıkıyor. Biraz daha açarsam;

 

ilk kısımda if ile saat ve tarih alındığında yapılacak işlemi yapıyorum dediğim gibi bu kısımda bir problem yok saat ve tarihi girince olması gerektiği gibi çalışıyor.

Sonra ise else ile tarih ve saat yoksa yani süre bitmişse "yonlendir" islemi var.

private void yonlendir() {
        startActivity(new Intent(BirinciActivity.this, IkinciActivity.class));
        super.onDestroy();
        finish();
    }

bu şekilde kullandığımda süre kapalıyken sınavı başlat butonuna tıklayınca elimdeki telefon Android 9 sorunsuz olarak ikinci activiye geçiyor fakat Android 6 olan bir telefonda test etme imkanım oldu durduruldu hatası veriyor tamam deyince ikinci activity açılıyor. (Şunu da belirteyim Android 9da da 6da da android studioda hata kodu görünüyor uygulamanın çalışmasını izlediğimde)

Kodu şu şekilde değiştirdiğimde ise (araştırmalarım sonucu bulduğum yabancı kaynaklarda destroy kaldırılması gerektiği yazıyordu onun için bu şekilde değiştirdim):

private void yonlendir() {
        startActivity(new Intent(BirinciActivity.this, IkinciActivity.class));
        finish();
    }

bu sefer uygulama bir döngüye giriyor ve uygulama takılıp kalıyor kapatma işlemi dahi yapılamıyor.

Hata çıktısı da şu şekilde:

java.lang.RuntimeException: 
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4126)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4092)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4066)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4040)
  at android.app.ActivityThread.-wrap16 (Unknown Source)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1708)
  at android.os.Handler.dispatchMessage (Handler.java:105)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6944)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

Caused by: java.lang.IllegalStateException: 
  at androidx.fragment.app.FragmentManagerImpl.moveToState (FragmentManager.java:1837)
  at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange (FragmentManager.java:3269)
  at androidx.fragment.app.FragmentManagerImpl.dispatchPause (FragmentManager.java:3245)
  at androidx.fragment.app.FragmentController.dispatchPause (FragmentController.java:234)
  at androidx.fragment.app.FragmentActivity.onPause (FragmentActivity.java:476)
  at android.app.Activity.performPause (Activity.java:7408)
  at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1414)
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4115)

 

Bu konu hakkında bana yardımcı olabileceğiniz bir durum var mıdır arkadaşlar? Şimdiden vereceğiniz cevaplar için teşekkür ederim.

34 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user abdulbaki
abdulbaki
29.03.2020 - 04:58

Problemim çözüldü. Handler kullanımından kaynaklı döngü oluştuğu için hata alıyormuşum. Onu silerek sorunu çözüme kavuşturdum.

Profile picture for user cbozkurt367
cbozkurt367
05.12.2019 - 10:21
Kodlamana dikkat et kardeşim
Abdulbaki
07.12.2019 - 10:45
Tam olarak hangi kısmına hocam? Hata çıktısını da üste ekliyorum.